Autogenerated HTML docs for v1.3.2-g5892 
diff --git a/config.txt b/config.txt index b27b0d5..d1a4bec 100644 --- a/config.txt +++ b/config.txt 
@@ -64,9 +64,11 @@ 	slow, such as Microsoft Windows. See gitlink:git-update-index[1]. 	False by default.   -core.onlyUseSymrefs:: -	Always use the "symref" format instead of symbolic links for HEAD -	and other symbolic reference files. True by default. +core.preferSymlinkRefs:: +	Instead of the default "symref" format for HEAD +	and other symbolic reference files, use symbolic links. +	This is sometimes needed to work with old scripts that +	expect HEAD to be a symbolic link.    core.repositoryFormatVersion:: 	Internal variable identifying the repository format and layout 
diff --git a/git-count-objects.html b/git-count-objects.html index 6dc8744..b3af15b 100644 --- a/git-count-objects.html +++ b/git-count-objects.html 
@@ -272,13 +272,29 @@  </div>   <h2>SYNOPSIS</h2>   <div class="sectionbody">  -<p><em>git-count-objects</em></p>  +<p><em>git-count-objects</em> [-v]</p>   </div>   <h2>DESCRIPTION</h2>   <div class="sectionbody">   <p>This counts the number of unpacked object files and disk space consumed by   them, to help you decide when it is a good time to repack.</p>   </div>  +<h2>OPTIONS</h2>  +<div class="sectionbody">  +<dl>  +<dt>  +-v  +</dt>  +<dd>  +<p>  + In addition to the number of loose objects and disk  + space consumed, it reports the number of in-pack  + objects, and number of objects that can be removed by  + running <tt>git-prune-packed</tt>.  +</p>  +</dd>  +</dl>  +</div>   <h2>Author</h2>   <div class="sectionbody">   <p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>  @@ -293,7 +309,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 10-Mar-2006 00:31:23 UTC  +Last updated 04-May-2006 08:01:36 UTC   </div>   </div>   </body>  
diff --git a/git-count-objects.txt b/git-count-objects.txt index 47216f4..198ce77 100644 --- a/git-count-objects.txt +++ b/git-count-objects.txt 
@@ -7,13 +7,23 @@    SYNOPSIS  -------- -'git-count-objects' +'git-count-objects' [-v]    DESCRIPTION  -----------  This counts the number of unpacked object files and disk space consumed by  them, to help you decide when it is a good time to repack.   + +OPTIONS +------- +-v:: +	In addition to the number of loose objects and disk +	space consumed, it reports the number of in-pack +	objects, and number of objects that can be removed by +	running `git-prune-packed`. + +  Author  ------  Written by Junio C Hamano <junkio@cox.net> 
diff --git a/git-repo-config.html b/git-repo-config.html index db46053..66606be 100644 --- a/git-repo-config.html +++ b/git-repo-config.html 
@@ -338,7 +338,7 @@  <dd>   <p>   Default behaviour is to replace at most one line. This replaces  - all lines matching the key (and optionally the value_regex)  + all lines matching the key (and optionally the value_regex).   </p>   </dd>   <dt>  @@ -360,6 +360,14 @@  </p>   </dd>   <dt>  +--get-regexp  +</dt>  +<dd>  +<p>  + Like --get-all, but interprets the name as a regular expression.  +</p>  +</dd>  +<dt>   --unset   </dt>   <dd>  @@ -558,12 +566,14 @@  </p>   </dd>   <dt>  -core.onlyUseSymrefs  +core.preferSymlinkRefs   </dt>   <dd>   <p>  - Always use the "symref" format instead of symbolic links for HEAD  - and other symbolic reference files. True by default.  + Instead of the default "symref" format for HEAD  + and other symbolic reference files, use symbolic links.  + This is sometimes needed to work with old scripts that  + expect HEAD to be a symbolic link.   </p>   </dd>   <dt>  @@ -819,7 +829,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 27-Apr-2006 20:10:38 UTC  +Last updated 04-May-2006 08:01:37 UTC   </div>   </div>   </body>  
diff --git a/git-repo-config.txt b/git-repo-config.txt index 566cfa1..ddcf523 100644 --- a/git-repo-config.txt +++ b/git-repo-config.txt 
@@ -49,7 +49,7 @@    --replace-all:: 	Default behaviour is to replace at most one line. This replaces -	all lines matching the key (and optionally the value_regex) +	all lines matching the key (and optionally the value_regex).    --get:: 	Get the value for a given key (optionally filtered by a regex @@ -59,6 +59,9 @@ 	Like get, but does not fail if the number of values for the key 	is not exactly one.   +--get-regexp:: +	Like --get-all, but interprets the name as a regular expression. +  --unset:: 	Remove the line matching the key from .git/config.   
diff --git a/glossary.html b/glossary.html index 00f2633..0c45a4f 100644 --- a/glossary.html +++ b/glossary.html 
@@ -3,7 +3,7 @@  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  -<meta name="generator" content="AsciiDoc 7.0.1" />  +<meta name="generator" content="AsciiDoc 7.0.2" />   <style type="text/css">   /* Debug borders */   p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {  @@ -276,6 +276,22 @@  </p>   </dd>   <dt>  +<a id="ref_bare_repository"></a>bare repository  +</dt>  +<dd>  +<p>  + A <a href="#ref_bare_repository">bare repository</a> is normally an appropriately  + named <a href="#ref_directory">directory</a> with a <tt>.git</tt> suffix that does not  + have a locally checked-out copy of any of the files under  + <a href="#ref_revision">revision</a> control. That is, all of the <tt>git</tt>  + administrative and control files that would normally be present in the  + hidden <tt>.git</tt> sub-<a href="#ref_directory">directory</a> are directly present in  + the <tt><a href="#ref_repository">repository</a>.git</tt> <a href="#ref_directory">directory</a>  + instead, and no other files are present and checked out. Usually  + publishers of public repositories make bare repositories available.  +</p>  +</dd>  +<dt>   <a id="ref_blob_object"></a>blob object   </dt>   <dd>  @@ -333,13 +349,26 @@  </p>   </dd>   <dt>  +<a id="ref_cherry-picking"></a>cherry-picking  +</dt>  +<dd>  +<p>  + In <a href="#ref_SCM">SCM</a> jargon, "cherry pick" means to choose a subset of  + changes out of a series of changes (typically commits) and record them  + as a new series of changes on top of different codebase. In GIT, this is  + performed by "git cherry-pick" command to extract the change introduced  + by an existing <a href="#ref_commit">commit</a> and to record it based on the tip  + of the current <a href="#ref_branch">branch</a> as a new <a href="#ref_commit">commit</a>.  +</p>  +</dd>  +<dt>   <a id="ref_clean"></a>clean   </dt>   <dd>   <p>   A <a href="#ref_working_tree">working tree</a> is <a href="#ref_clean">clean</a>, if it   corresponds to the <a href="#ref_revision">revision</a> referenced by the current  - <a href="#ref_head">head</a>.  + <a href="#ref_head">head</a>. Also see "<a href="#ref_dirty">dirty</a>".   </p>   </dd>   <dt>  @@ -423,6 +452,21 @@  </p>   </dd>   <dt>  +<a id="ref_fast_forward"></a>fast forward  +</dt>  +<dd>  +<p>  + A fast-forward is a special type of <a href="#ref_merge">merge</a> where you have a  + <a href="#ref_revision">revision</a> and you are "merging" another  + <a href="#ref_branch">branch</a>'s changes that happen to be a descendant of what  + you have. In such these cases, you do not make a new <a href="#ref_merge">merge</a>  + <a href="#ref_commit">commit</a> but instead just update to his  + <a href="#ref_revision">revision</a>. This will happen frequently on a  + <a href="#ref_tracking_branch">tracking branch</a> of a remote  + <a href="#ref_repository">repository</a>.  +</p>  +</dd>  +<dt>   <a id="ref_fetch"></a>fetch   </dt>   <dd>  @@ -480,6 +524,20 @@  </p>   </dd>   <dt>  +<a id="ref_hook"></a>hook  +</dt>  +<dd>  +<p>  + During the normal execution of several git commands, call-outs are made  + to optional scripts that allow a developer to add functionality or  + checking. Typically, the hooks allow for a command to be pre-verified  + and potentially aborted, and allow for a post-notification after the  + operation is done. The <a href="#ref_hook">hook</a> scripts are found in the  + <tt>$GIT_DIR/hooks/</tt> <a href="#ref_directory">directory</a>, and are enabled by simply  + making them executable.  +</p>  +</dd>  +<dt>   <a id="ref_index"></a>index   </dt>   <dd>  @@ -507,11 +565,11 @@  </dt>   <dd>   <p>  - The default <a href="#ref_branch">branch</a>. Whenever you create a git  + The default development <a href="#ref_branch">branch</a>. Whenever you create a git   <a href="#ref_repository">repository</a>, a <a href="#ref_branch">branch</a> named   "<a href="#ref_master">master</a>" is created, and becomes the active   <a href="#ref_branch">branch</a>. In most cases, this contains the local  - development.  + development, though that is purely conventional and not required.   </p>   </dd>   <dt>  @@ -580,11 +638,11 @@  </dt>   <dd>   <p>  - The default upstream <a href="#ref_branch">branch</a>. Most projects have one  - upstream project which they track, and by default  - <em><a href="#ref_origin">origin</a></em> is used for that purpose. New updates from  - upstream will be fetched into this <a href="#ref_branch">branch</a>; you should  - never <a href="#ref_commit">commit</a> to it yourself.  + The default upstream <a href="#ref_tracking_branch">tracking branch</a>. Most  + projects have at least one upstream project which they track. By default  + <em><a href="#ref_origin">origin</a></em> is used for that purpose. New upstream updates  + will be fetched into this <a href="#ref_branch">branch</a>; you should never  + <a href="#ref_commit">commit</a> to it yourself.   </p>   </dd>   <dt>  @@ -617,6 +675,18 @@  </p>   </dd>   <dt>  +<a id="ref_pickaxe"></a>pickaxe  +</dt>  +<dd>  +<p>  + The term <a href="#ref_pickaxe">pickaxe</a> refers to an option to the diffcore  + routines that help select changes that add or delete a given text  + string. With the &#8212;<a href="#ref_pickaxe">pickaxe</a>-all option, it can be used to  + view the full <a href="#ref_changeset">changeset</a> that introduced or removed,  + say, a particular line of text. See <a href="git-diff.html">git-diff(1)</a>.  +</p>  +</dd>  +<dt>   <a id="ref_plumbing"></a>plumbing   </dt>   <dd>  @@ -687,12 +757,32 @@  </dt>   <dd>   <p>  - A 40-byte hex representation of a <a href="#ref_SHA1">SHA1</a> pointing to a  - particular <a href="#ref_object">object</a>. These may be stored in  + A 40-byte hex representation of a <a href="#ref_SHA1">SHA1</a> or a name that  + denotes a particular <a href="#ref_object">object</a>. These may be stored in   <tt>$GIT_DIR/refs/</tt>.   </p>   </dd>   <dt>  +<a id="ref_refspec"></a>refspec  +</dt>  +<dd>  +<p>  + A <a href="#ref_refspec">refspec</a> is used by <a href="#ref_fetch">fetch</a> and  + <a href="#ref_push">push</a> to describe the mapping between remote <a href="#ref_ref">ref</a>  + and local <a href="#ref_ref">ref</a>. They are combined with a colon in the format  + &lt;src&gt;:&lt;dst&gt;, preceded by an optional plus sign, +. For example: <tt>git  + <a href="#ref_fetch">fetch</a> $URL  + refs/heads/<a href="#ref_master">master</a>:refs/heads/<a href="#ref_origin">origin</a></tt> means  + "grab the <a href="#ref_master">master</a> <a href="#ref_branch">branch</a> <a href="#ref_head">head</a>  + from the $URL and store it as my <a href="#ref_origin">origin</a>  + <a href="#ref_branch">branch</a> <a href="#ref_head">head</a>". And <tt>git <a href="#ref_push">push</a>  + $URL refs/heads/<a href="#ref_master">master</a>:refs/heads/to-upstream</tt> means  + "publish my <a href="#ref_master">master</a> <a href="#ref_branch">branch</a>  + <a href="#ref_head">head</a> as to-upstream <a href="#ref_master">master</a> <a href="#ref_head">head</a>  + at $URL". See also <a href="git-push.html">git-push(1)</a>  +</p>  +</dd>  +<dt>   <a id="ref_repository"></a>repository   </dt>   <dd>  @@ -774,6 +864,30 @@  </p>   </dd>   <dt>  +<a id="ref_topic_branch"></a>topic branch  +</dt>  +<dd>  +<p>  + A regular git <a href="#ref_branch">branch</a> that is used by a developer to  + identify a conceptual line of development. Since branches are very easy  + and inexpensive, it is often desirable to have several small branches  + that each contain very well defined concepts or small incremental yet  + related changes.  +</p>  +</dd>  +<dt>  +<a id="ref_tracking_branch"></a>tracking branch  +</dt>  +<dd>  +<p>  + A regular git <a href="#ref_branch">branch</a> that is used to follow changes from  + another <a href="#ref_repository">repository</a>. A <a href="#ref_tracking_branch">tracking branch</a> should not contain direct modifications or have local commits  + made to it. A <a href="#ref_tracking_branch">tracking branch</a> can usually be  + identified as the right-hand-side <a href="#ref_ref">ref</a> in a Pull:  + <a href="#ref_refspec">refspec</a>.  +</p>  +</dd>  +<dt>   <a id="ref_tree"></a>tree   </dt>   <dd>  @@ -824,7 +938,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 10-Jan-2006 16:53:50 PDT  +Last updated 04-May-2006 08:01:37 UTC   </div>   </div>   </body>  
diff --git a/glossary.txt b/glossary.txt index 02a9d9c..39c90ad 100644 --- a/glossary.txt +++ b/glossary.txt 
@@ -1,39 +1,71 @@ -object:: -	The unit of storage in git. It is uniquely identified by -	the SHA1 of its contents. Consequently, an object can not -	be changed. +alternate object database:: +	Via the alternates mechanism, a repository can inherit part of its +	object database from another object database, which is called +	"alternate".   -object name:: -	The unique identifier of an object. The hash of the object's contents -	using the Secure Hash Algorithm 1 and usually represented by the 40 -	character hexadecimal encoding of the hash of the object (possibly -	followed by a white space). - -SHA1:: -	Synonym for object name. - -object identifier:: -	Synonym for object name. - -hash:: -	In git's context, synonym to object name. - -object database:: -	Stores a set of "objects", and an individual object is identified -	by its object name. The objects usually live in `$GIT_DIR/objects/`. +bare repository:: +	A bare repository is normally an appropriately named +	directory with a `.git` suffix that does not have a +	locally checked-out copy of any of the files under revision +	control. That is, all of the `git` administrative and +	control files that would normally be present in the +	hidden `.git` sub-directory are directly present in +	the `repository.git` directory instead, and no other files +	are present and checked out. Usually publishers of public +	repositories make bare repositories available.    blob object:: 	Untyped object, e.g. the contents of a file.   -tree object:: -	An object containing a list of file names and modes along with refs -	to the associated blob and/or tree objects. A tree is equivalent -	to a directory. +branch:: +	A non-cyclical graph of revisions, i.e. the complete history of +	a particular revision, which is called the branch head. The +	branch heads are stored in `$GIT_DIR/refs/heads/`.   -tree:: -	Either a working tree, or a tree object together with the -	dependent blob and tree objects (i.e. a stored representation -	of a working tree). +cache:: +	Obsolete for: index. + +chain:: +	A list of objects, where each object in the list contains a +	reference to its successor (for example, the successor of a commit +	could be one of its parents). + +changeset:: +	BitKeeper/cvsps speak for "commit". Since git does not store +	changes, but states, it really does not make sense to use +	the term "changesets" with git. + +checkout:: +	The action of updating the working tree to a revision which was +	stored in the object database. + +cherry-picking:: +	In SCM jargon, "cherry pick" means to choose a subset of +	changes out of a series of changes (typically commits) +	and record them as a new series of changes on top of +	different codebase. In GIT, this is performed by +	"git cherry-pick" command to extract the change +	introduced by an existing commit and to record it based +	on the tip of the current branch as a new commit. + +clean:: +	A working tree is clean, if it corresponds to the revision +	referenced by the current head. Also see "dirty". + +commit:: +	As a verb: The action of storing the current state of the index in the +	object database. The result is a revision. +	As a noun: Short hand for commit object. + +commit object:: +	An object which contains the information about a particular +	revision, such as parents, committer, author, date and the +	tree object which corresponds to the top directory of the +	stored revision. + +core git:: +	Fundamental data structures and utilities of git. Exposes only +	limited source code management tools.    DAG:: 	Directed acyclic graph. The commit objects form a directed acyclic @@ -41,6 +73,63 @@ 	objects is acyclic (there is no chain which begins and ends with the 	same object).   +dircache:: +	You are *waaaaay* behind. + +dirty:: +	A working tree is said to be dirty if it contains modifications +	which have not been committed to the current branch. + +directory:: +	The list you get with "ls" :-) + +ent:: +	Favorite synonym to "tree-ish" by some total geeks. See +	`http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth +	explanation. + +fast forward:: +	A fast-forward is a special type of merge where you have +	a revision and you are "merging" another branch's changes +	that happen to be a descendant of what you have. +	In such these cases, you do not make a new merge commit but +	instead just update to his revision. This will happen +	frequently on a tracking branch of a remote repository. + +fetch:: +	Fetching a branch means to get the branch's head ref from a +	remote repository, to find out which objects are missing from +	the local object database, and to get them, too. + +file system:: +	Linus Torvalds originally designed git to be a user space file +	system, i.e. the infrastructure to hold files and directories. +	That ensured the efficiency and speed of git. + +git archive:: +	Synonym for repository (for arch people). + +hash:: +	In git's context, synonym to object name. + +head:: +	The top of a branch. It contains a ref to the corresponding +	commit object. + +head ref:: +	A ref pointing to a head. Often, this is abbreviated to "head". +	Head refs are stored in `$GIT_DIR/refs/heads/`. + +hook:: +	During the normal execution of several git commands, +	call-outs are made to optional scripts that allow +	a developer to add functionality or checking. +	Typically, the hooks allow for a command to be pre-verified +	and potentially aborted, and allow for a post-notification +	after the operation is done. +	The hook scripts are found in the `$GIT_DIR/hooks/` directory, +	and are enabled by simply making them executable. +  index:: 	A collection of files with stat information, whose contents are 	stored as objects. The index is a stored version of your working @@ -53,92 +142,167 @@ 	yet finished (i.e. if the index contains multiple versions of 	that file).   -unmerged index: -	An index which contains unmerged index entries. +master:: +	The default development branch. Whenever you create a git +	repository, a branch named "master" is created, and becomes +	the active branch. In most cases, this contains the local +	development, though that is purely conventional and not required.   -cache:: -	Obsolete for: index. +merge:: +	To merge branches means to try to accumulate the changes since a +	common ancestor and apply them to the first branch. An automatic +	merge uses heuristics to accomplish that. Evidently, an automatic +	merge can fail.   -working tree:: -	The set of files and directories currently being worked on, -	i.e. you can work in your working tree without using git at all. +object:: +	The unit of storage in git. It is uniquely identified by +	the SHA1 of its contents. Consequently, an object can not +	be changed.   -directory:: -	The list you get with "ls" :-) +object database:: +	Stores a set of "objects", and an individual object is identified +	by its object name. The objects usually live in `$GIT_DIR/objects/`.   -revision:: -	A particular state of files and directories which was stored in -	the object database. It is referenced by a commit object. +object identifier:: +	Synonym for object name.   -checkout:: -	The action of updating the working tree to a revision which was -	stored in the object database. +object name:: +	The unique identifier of an object. The hash of the object's contents +	using the Secure Hash Algorithm 1 and usually represented by the 40 +	character hexadecimal encoding of the hash of the object (possibly +	followed by a white space).   -commit:: -	As a verb: The action of storing the current state of the index in the -	object database. The result is a revision. -	As a noun: Short hand for commit object. +object type: +	One of the identifiers "commit","tree","tag" and "blob" describing +	the type of an object.   -commit object:: -	An object which contains the information about a particular -	revision, such as parents, committer, author, date and the -	tree object which corresponds to the top directory of the -	stored revision. +octopus:: +	To merge more than two branches. Also denotes an intelligent +	predator. + +origin:: +	The default upstream tracking branch. Most projects have at +	least one upstream project which they track. By default +	'origin' is used for that purpose. New upstream updates +	will be fetched into this branch; you should never commit +	to it yourself. + +pack:: +	A set of objects which have been compressed into one file (to save +	space or to transmit them efficiently). + +pack index:: +	The list of identifiers, and other information, of the objects in a +	pack, to assist in efficiently accessing the contents of a pack.    parent:: 	A commit object contains a (possibly empty) list of the logical 	predecessor(s) in the line of development, i.e. its parents.   -changeset:: -	BitKeeper/cvsps speak for "commit". Since git does not store -	changes, but states, it really does not make sense to use -	the term "changesets" with git. +pickaxe:: +	The term pickaxe refers to an option to the diffcore routines +	that help select changes that add or delete a given text string. +	With the --pickaxe-all option, it can be used to view the +	full changeset that introduced or removed, say, a particular +	line of text. See gitlink:git-diff[1].   -clean:: -	A working tree is clean, if it corresponds to the revision -	referenced by the current head. +plumbing:: +	Cute name for core git.   -dirty:: -	A working tree is said to be dirty if it contains modifications -	which have not been committed to the current branch. +porcelain:: +	Cute name for programs and program suites depending on core git, +	presenting a high level access to core git. Porcelains expose +	more of a SCM interface than the plumbing.   -head:: -	The top of a branch. It contains a ref to the corresponding -	commit object. +pull:: +	Pulling a branch means to fetch it and merge it.   -branch:: -	A non-cyclical graph of revisions, i.e. the complete history of -	a particular revision, which is called the branch head. The -	branch heads are stored in `$GIT_DIR/refs/heads/`. +push:: +	Pushing a branch means to get the branch's head ref from a remote +	repository, find out if it is an ancestor to the branch's local +	head ref is a direct, and in that case, putting all objects, which +	are reachable from the local head ref, and which are missing from +	the remote repository, into the remote object database, and updating +	the remote head ref. If the remote head is not an ancestor to the +	local head, the push fails.   -master:: -	The default branch. Whenever you create a git repository, a branch -	named "master" is created, and becomes the active branch. In most -	cases, this contains the local development. +reachable:: +	An object is reachable from a ref/commit/tree/tag, if there is a +	chain leading from the latter to the former.   -origin:: -	The default upstream branch. Most projects have one upstream -	project which they track, and by default 'origin' is used for -	that purpose. New updates from upstream will be fetched into -	this branch; you should never commit to it yourself. +rebase:: +	To clean a branch by starting from the head of the main line of +	development ("master"), and reapply the (possibly cherry-picked) +	changes from that branch.    ref:: -	A 40-byte hex representation of a SHA1 pointing to a particular -	object. These may be stored in `$GIT_DIR/refs/`. +	A 40-byte hex representation of a SHA1 or a name that denotes +	a particular object. These may be stored in `$GIT_DIR/refs/`.   -head ref:: -	A ref pointing to a head. Often, this is abbreviated to "head". -	Head refs are stored in `$GIT_DIR/refs/heads/`. +refspec:: +	A refspec is used by fetch and push to describe the mapping +	between remote ref and local ref. They are combined with +	a colon in the format <src>:<dst>, preceded by an optional +	plus sign, +. For example: +	`git fetch $URL refs/heads/master:refs/heads/origin` +	means "grab the master branch head from the $URL and store +	it as my origin branch head". +	And `git push $URL refs/heads/master:refs/heads/to-upstream` +	means "publish my master branch head as to-upstream master head +	at $URL". See also gitlink:git-push[1] + +repository:: +	A collection of refs together with an object database containing +	all objects, which are reachable from the refs, possibly accompanied +	by meta data from one or more porcelains. A repository can +	share an object database with other repositories. + +resolve:: +	The action of fixing up manually what a failed automatic merge +	left behind. + +revision:: +	A particular state of files and directories which was stored in +	the object database. It is referenced by a commit object. + +rewind:: +	To throw away part of the development, i.e. to assign the head to +	an earlier revision. + +SCM:: +	Source code management (tool). + +SHA1:: +	Synonym for object name. + +topic branch:: +	A regular git branch that is used by a developer to +	identify a conceptual line of development. Since branches +	are very easy and inexpensive, it is often desirable to +	have several small branches that each contain very well +	defined concepts or small incremental yet related changes. + +tracking branch:: +	A regular git branch that is used to follow changes from +	another repository. A tracking branch should not contain +	direct modifications or have local commits made to it. +	A tracking branch can usually be identified as the +	right-hand-side ref in a Pull: refspec. + +tree object:: +	An object containing a list of file names and modes along with refs +	to the associated blob and/or tree objects. A tree is equivalent +	to a directory. + +tree:: +	Either a working tree, or a tree object together with the +	dependent blob and tree objects (i.e. a stored representation +	of a working tree).    tree-ish:: 	A ref pointing to either a commit object, a tree object, or a 	tag object pointing to a tag or commit or tree object.   -ent:: -	Favorite synonym to "tree-ish" by some total geeks. See -	`http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth -	explanation. -  tag object:: 	An object containing a ref pointing to another object, which can 	contain a message just like a commit object. It can also @@ -153,101 +317,10 @@ 	A tag is most typically used to mark a particular point in the 	commit ancestry chain.   -merge:: -	To merge branches means to try to accumulate the changes since a -	common ancestor and apply them to the first branch. An automatic -	merge uses heuristics to accomplish that. Evidently, an automatic -	merge can fail. +unmerged index: +	An index which contains unmerged index entries.   -octopus:: -	To merge more than two branches. Also denotes an intelligent -	predator. - -resolve:: -	The action of fixing up manually what a failed automatic merge -	left behind. - -rewind:: -	To throw away part of the development, i.e. to assign the head to -	an earlier revision. - -rebase:: -	To clean a branch by starting from the head of the main line of -	development ("master"), and reapply the (possibly cherry-picked) -	changes from that branch. - -repository:: -	A collection of refs together with an object database containing -	all objects, which are reachable from the refs, possibly accompanied -	by meta data from one or more porcelains. A repository can -	share an object database with other repositories. - -git archive:: -	Synonym for repository (for arch people). - -file system:: -	Linus Torvalds originally designed git to be a user space file -	system, i.e. the infrastructure to hold files and directories. -	That ensured the efficiency and speed of git. - -alternate object database:: -	Via the alternates mechanism, a repository can inherit part of its -	object database from another object database, which is called -	"alternate". - -reachable:: -	An object is reachable from a ref/commit/tree/tag, if there is a -	chain leading from the latter to the former. - -chain:: -	A list of objects, where each object in the list contains a -	reference to its successor (for example, the successor of a commit -	could be one of its parents). - -fetch:: -	Fetching a branch means to get the branch's head ref from a -	remote repository, to find out which objects are missing from -	the local object database, and to get them, too. - -pull:: -	Pulling a branch means to fetch it and merge it. - -push:: -	Pushing a branch means to get the branch's head ref from a remote -	repository, find out if it is an ancestor to the branch's local -	head ref is a direct, and in that case, putting all objects, which -	are reachable from the local head ref, and which are missing from -	the remote repository, into the remote object database, and updating -	the remote head ref. If the remote head is not an ancestor to the -	local head, the push fails. - -pack:: -	A set of objects which have been compressed into one file (to save -	space or to transmit them efficiently). - -pack index:: -	The list of identifiers, and other information, of the objects in a -	pack, to assist in efficiently accessing the contents of a pack.  - -core git:: -	Fundamental data structures and utilities of git. Exposes only -	limited source code management tools. - -plumbing:: -	Cute name for core git. - -porcelain:: -	Cute name for programs and program suites depending on core git, -	presenting a high level access to core git. Porcelains expose -	more of a SCM interface than the plumbing. - -object type: -	One of the identifiers "commit","tree","tag" and "blob" describing -	the type of an object. - -SCM:: -	Source code management (tool). - -dircache:: -	You are *waaaaay* behind. +working tree:: +	The set of files and directories currently being worked on, +	i.e. you can work in your working tree without using git at all.